{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Genaralization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#import packages\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Generate a toy dataset\n",
    "x = np.linspace(-1,1,100)\n",
    "signal = 2 + x + 2 * x * x\n",
    "noise = np.random.normal(0, 0.1, 100)\n",
    "y = signal + noise\n",
    "plt.plot(signal,'b'); \n",
    "plt.plot(y,'g')\n",
    "plt.plot(noise, 'r')\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.legend([\"Without Noise\", \"With Noise\", \"Noise\"], loc = 2)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of x_train: (80,)\n",
      "Shape of y_train: (80,)\n"
     ]
    }
   ],
   "source": [
    "#Extract training from the toy dataset\n",
    "x_train = x[0:80]\n",
    "y_train = y[0:80]\n",
    "print(\"Shape of x_train:\",x_train.shape)\n",
    "print(\"Shape of y_train:\",y_train.shape)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Create a function to build a regression model with parameterized degree of independent coefficients\n",
    "def create_model(x_train,degree):    \n",
    "    degree+=1\n",
    "    X_train = np.column_stack([np.power(x_train,i) for i in range(0,degree)])\n",
    "    model = np.dot(np.dot(np.linalg.inv(np.dot(X_train.transpose(),X_train)),X_train.transpose()),y_train)\n",
    "    plt.plot(x,y,'g')\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"y\")\n",
    "    predicted = np.dot(model, [np.power(x,i) for i in range(0,degree)]) \n",
    "    plt.plot(x, predicted,'r')\n",
    "    plt.legend([\"Actual\", \"Predicted\"], loc = 2)\n",
    "    plt.title(\"Model with degree =3\")\n",
    "    train_rmse1 = np.sqrt(np.sum(np.dot(y[0:80] - predicted[0:80], y_train - predicted[0:80])))\n",
    "    test_rmse1 = np.sqrt(np.sum(np.dot(y[80:] - predicted[80:], y[80:] - predicted[80:])))\n",
    "    print(\"Train RMSE(Degree = \"+str(degree)+\"):\", round(train_rmse1,2))\n",
    "    print(\"Test RMSE (Degree = \"+str(degree)+\"):\", round(test_rmse1,2))\n",
    "    plt.show()\t\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train RMSE(Degree = 2): 3.72\n",
      "Test RMSE (Degree = 2): 7.57\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEWCAYAAACJ0YulAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XlcVXX6wPHPwyK4giCgooIb7gqI+4LWmJamOWlpY9lqm9nUVFNN29SvmbappmlvbMwWrazcNS33XdwVF1xQRAXcEBSQ5fv7416ulx2Fy2V53q/XfXXuWZ9zpfOc73K+R4wxKKWUUgAuzg5AKaVU5aFJQSmllI0mBaWUUjaaFJRSStloUlBKKWWjSUEppZSNJgVVaYlIsIgYEXErxbp3i8iaMh5vgIjsL494iti+zDEq5WiaFFS5EJFYEbksIo3yzd9mvZAGOyey0jPGrDbGtMv9bj2nPzgzpspMRAaLyC4ROS8iZ0TkFxEJdHZcqmw0KajydAQYn/tFRLoAdZwXTs1wrSWXchANDDXGeANNgRjgEyfFosqJJgVVnr4G7rL7PhGYbr+CiHiJyHQRSRKRoyLygoi4WJe5isg7InJaRA4DwwvZdqqInBSReBH5PxFxLSkoEflKRP5inQ60llwetX5vLSJnRcRFRAaJyHHr/K+BFsA8EUkVkWfsdvknETlmjfNvxRzXV0TmisgFEdkEtM63vL2ILLUef7+I3JZv23nWbTdbz3WN3XIjIo+KSAyWi3FJ+/Ow/rbHRCRBRD4Vkdol/XbFMcYkGGNO2M3KBtqUZZ/K+TQpqPK0AWggIh2sF+txwDf51vkP4AW0AiKxJJF7rMseAEYAYUAEMCbfttOALCwXnjDgBuD+UsS1EhhknY4EDgMD7b6vNsbk2G9gjLkTOAbcbIypZ4x5y25xf6AdcD3wkoh0KOK4HwHpQBPgXusHABGpCywFvgP8sfxWH4tIR7ttLwKNsSTXiYXs/xagF9CxFPt7AwgBQrH8foHAS4UFLSL9rVVCRX36263bQkTOA2nAU8Bbhe1TVSHGGP3op8wfIBb4A/AC8E9gGJaLlBtggGDAFbgMdLTb7kFghXV6GfCQ3bIbrNu6AQFABlDbbvl4YLl1+m5gTRGxtQbOYbkJ+tR6zOPWZV8BT1qnB+XOtz8nu+/B1nia2c3bBIwr5JiuQCbQ3m7eP3JjBG7Hkozst/kMeNlu23Z2y/7P/vyscVxn9724/QmWBNPablkf4Eg5/vv7AH8Fejv7b1E/Zfs4qy5SVV9fA6uAluSrOgIaAe7AUbt5R7HctYKlXjou37JcQdZtT4pI7jyXfOsXyhhzSEQuYrlLHgC8BtwnIu2wlBQ+KPGs8jplN30JqFfIOn5Ykllx59PLepedyw3L71fYtoWdp/28kvZXB9hi99sJluRTLowxZ0XkK2CHiAQaY7LKa9+qYmlSUOXKGHNURI4ANwH35Vt8GssdcBCWRkqw1NvHW6dPAs3t1m9hNx2HpaTQ6BovOCuxVEfVMsbEi8hKLFUyDYHtRZ3ONRwnVxKWqq7mwD7rvPzns9IYMyT/htaqtyygGXDAOrt5/vXyxVfc/lywVO90MsbE519eyPoDgEXFrHKjMWZ1IfPdsFRdNQDOlnQcVTlpm4JyhPuwVG1ctJ9pjMkGfgBeF5H6IhIEPMmVdocfgCki0kxEGgLP2m17ElgC/EtEGlgbhluLSGQpY1oJTMZSigFYYf2+xhpXYRKwtH1cNes+fwZeEZE61rp9+3aB+UCIiNwpIu7WTw8R6VDItu3J24BfmOL2lwN8AbwnIv5ga3AfWkTsq42lHaWoz2rrPv4oIu2s/xZ+wLvANmOMJoQqTJOCKnfGmEPGmKgiFj+GpX77MLAGS8Pol9ZlXwC/AjuArVgujPbuAmphKWWcA2ZhacQtjZVAfa4khTVYqlRWFbmFpW3kBWvj6lOlPI69yViqlk5haST/X+4CY0wKljaTccAJ6zpvAh5223pZ538NzMBSUipUKfb3V+AgsEFELgC/YWksL4tAYDGQAuwCcoDRZdyncjIxRl+yo1RlJyJvAo2NMYX1QlKq3GhJQalKyPrMQVex6ImlSu4XZ8elqj9taFaqcqqPpcqoKZa2jX8Bc5wakaoRtPpIKaWUjVYfKaWUsqly1UeNGjUywcHBzg5DKaWqlC1btpw2xviVtF6VSwrBwcFERRXV21EppVRhRORoyWtp9ZFSSik7mhSUUkrZaFJQSillU+XaFAqTmZnJ8ePHSU9Pd3YoVZ6npyfNmjXD3d3d2aEopZygWiSF48ePU79+fYKDg7EbGlhdJWMMZ86c4fjx47Rs2dLZ4SilnKBaVB+lp6fj6+urCaGMRARfX18tcSlVg1WLpABoQign+jsqVbNVm6SglFLV2asrX+X3w787/DiaFMrR7NmzERH27dtX7HrTpk3jxIkT13ycFStWMGLEiGveXilVtSSnJ/PKildYG7fW4cdyaFIQkVgR2SUi20WkwGPI1mGBPxCRgyKyU0TCHRmPo82YMYP+/fszY8aMYtcra1JQStUsG+M3YjD0bd7X4ceqiJLCYGNMqDEmopBlNwJtrZ9JwCcVEI9DpKamsmbNGqZOncrMmTNt89988026dOlCt27dePbZZ5k1axZRUVH86U9/IjQ0lLS0NIKDgzl9+jQAUVFRDBo0CIBNmzbRp08fwsLC6Nu3L/v373fGqSmlnGx93HoEoWdgT4cfy9ldUkcB041l/O4NIuItIk2s7+O9Jn9e/Ge2nyrqPezXJrRxKO8Pe7/YdebMmcOwYcMICQnB19eXLVu2kJiYyJw5c9i4cSN16tTh7Nmz+Pj48OGHH/LOO+8QEVFYnryiffv2rF69Gjc3N3777Teef/55fvrpp/I8NaVUFbDu+Dq6BHShgUcDhx/L0UnBAEtExACfGWM+z7c8EIiz+37cOi9PUhCRSVhKErRo0cJx0ZbBjBkzePzxxwEYN24cM2bMwBjDPffcQ506dQDw8fG5qn0mJyczceJEYmJiEBEyMzPLPW6lVOWWY3LYcHwDd3S+o0KO5+ik0N8YEy8i/sBSEdlnjCnuRemFsiaTzwEiIiKKfStQSXf0jnD27FmWLVvGrl27EBGys7MREcaOHVuq7d3c3MjJyQHI84zAiy++yODBg/nll1+IjY21VSsppWqO6KRoLmRcoE/zPhVyPIe2KRhj4q3/TcTyftn8FWLxQHO7782s86qUWbNmceedd3L06FFiY2OJi4ujZcuWeHl58b///Y9Lly4BluQBUL9+fVJSUmzbBwcHs2XLFoA81UPJyckEBgYClsZppVTNsy5uHUCFNDKDA5OCiNQVkfq508ANwO58q80F7rL2QuoNJJelPcFZZsyYwejRo/PMu/XWWzl58iQjR44kIiKC0NBQ3nnnHQDuvvtuHnroIVtD88svv8zjjz9OREQErq6utn0888wzPPfcc4SFhZGVlVWh56SUqhzWxa3Dr44frRu2rpDjOewdzSLSCkvpACzVVN8ZY14XkYcAjDGfiuXx2Q+BYcAl4B5jTLFv0ImIiDD5X7Kzd+9eOnToUN6nUGPp76lU5dHuw3Z0aNSB2eNml2k/IrKliF6geTisTcEYcxjoVsj8T+2mDfCoo2JQSqmq7PSl0xw4c4B7Q++tsGPqE81KKVWJJF5MJMdYOp5sOL4BqLj2BNCkoJRSlcax5GM0f685Q78ZSuLFRNbFrcPNxY2IpiXW+pQbZz+8ppRSymr5keVczr7MitgVhH0WRr1a9QhrHEZt99oVFoOWFJRSqpJYdXQVDT0bsvH+jdR2q82BMwcqtOoItKSglFKVxupjq+nfoj/hTcKJmhTFv9b9i7tD767QGLSkUE5cXV0JDQ2lc+fOjB071vbA2rWwHxp77ty5vPHGG0Wue/78eT7++OOrPsYrr7xie25CKeV8p1JPEXM2hoFBAwHw9vTmteteo7VPxTyfkEuTQjmpXbs227dvZ/fu3dSqVYtPP/00z3JjjG0oi6sxcuRInn322SKXX2tSUEpVLquPrgawJQVn0aTgAAMGDODgwYPExsbSrl077rrrLjp37kxcXBxLliyhT58+hIeHM3bsWFJTUwFYvHgx7du3Jzw8nJ9//tm2r2nTpjF58mQAEhISGD16NN26daNbt26sW7eOZ599lkOHDhEaGsrTTz8NwNtvv02PHj3o2rUrL7/8sm1fr7/+OiEhIfTv31+H4Vaqkll1dBV13OsQ1jjMqXFUvzaFP/8Ztpfv0NmEhsL7pRtoLysri0WLFjFs2DAAYmJi+Oqrr+jduzenT5/m//7v//jtt9+oW7cub775Ju+++y7PPPMMDzzwAMuWLaNNmzbcfvvthe57ypQpREZG8ssvv5CdnU1qaipvvPEGu3fvZrv1nJcsWUJMTAybNm3CGMPIkSNZtWoVdevWZebMmWzfvp2srCzCw8Pp3r17+fw+SqkyW3VsFX2b98Xd1d2pcVS/pOAkaWlphIaGApaSwn333ceJEycICgqid+/eAGzYsIHo6Gj69esHwOXLl+nTpw/79u2jZcuWtG3bFoAJEybw+ef5RxmHZcuWMX36dMDShuHl5cW5c+fyrLNkyRKWLFlCWJjlbiM1NZWYmBhSUlIYPXq0bRjvkSNHOuBXUEpdi3Np59iVsItXBr3i7FCqYVIo5R19ecttU8ivbt26tmljDEOGDCnwus7CtrtWxhiee+45HnzwwTzz33fS76KUKtnauLUYjNPbE0DbFCpU7969Wbt2LQcPHgTg4sWLHDhwgPbt2xMbG8uhQ4cAinzH8/XXX88nn1jeWJqdnU1ycnKBYbiHDh3Kl19+aWuriI+PJzExkYEDBzJ79mzS0tJISUlh3rx5jjxVpdRVWH10Ne4u7vQK7OXsUDQpVCQ/Pz+mTZvG+PHj6dq1q63qyNPTk88//5zhw4cTHh6Ov79/odv/+9//Zvny5XTp0oXu3bsTHR2Nr68v/fr1o3Pnzjz99NPccMMN3HHHHfTp04cuXbowZswYUlJSCA8P5/bbb6dbt27ceOON9OjRo4LPXilVlFXHVtEjsEeFPrlcFIcNne0oOnS24+nvqVTFuXj5It5vevOXPn/hjT8U/UxSWZV26GwtKSillJOkZaYx7qdxZOVkcWObG50dDlAdG5qVUqoKSE5P5uYZN7Pm2Bo+Gf4JkcGRzg4JqEZJwRiD5UVuqiyqWnWiUlVRQmoCw74dxu7E3cy4dQa3dy782SRnqBbVR56enpw5c0YvaGVkjOHMmTN4eno6OxSlqq3D5w7T78t+7D+9n3nj51WqhADVpKTQrFkzjh8/TlJSkrNDqfI8PT1p1qyZs8NQqlrafmo7w74ZRmZOJssmLqN3s97ODqmAapEU3N3dadmypbPDUEqpIu1J3EPktEi8PLxYPnE5HfwqZw8/h1cfiYiriGwTkfmFLLtbRJJEZLv1c7+j41FKKWd4c+2b5Jgc1t67ttImBKiYksLjwF6gQRHLvzfGTK6AOJRSyikSLyby/Z7vmRQ+ieZezZ0dTrEcWlIQkWbAcOC/jjyOUkpVZl9s+YLL2Zd5tOejzg6lRI6uPnofeAYo7u0yt4rIThGZJSKVO4UqpdRVysrJ4pOoTxjSagjtG7V3djglclhSEJERQKIxZksxq80Dgo0xXYGlwFdF7GuSiESJSJT2MFJKVSWz980mPiWeyT2rRi25w8Y+EpF/AncCWYAnljaFn40xE4pY3xU4a4zxKm6/hY19pJRSldWgaYM4mnyUg48dxNXF1WlxOH3sI2PMc8aYZsaYYGAcsCx/QhCRJnZfR2JpkFZKqWphZ8JOVh5dySMRjzg1IVyNCn9OQUReBaKMMXOBKSIyEktp4ixwd0XHo5RSjmCM4S9L/kL9WvW5N+xeZ4dTahWSFIwxK4AV1umX7OY/BzxXETEopVRFmr5jOr8d/o2PbvoI3zq+zg6n1KrF2EdKKVWZJF5M5MklT9K3eV8einjI2eFcFU0KSilVzp749QlSMlL44uYvcJGqdZmtWtEqpVQl9/3u7/lu13c8P+B5Ovp1dHY4V02TglJKlQNjDG+tfYvxP42nV2AvnutfNZtLq8UoqUop5UwZWRlMmj+J6Tumc1un2/jfqP/h4ebh7LCuiZYUlFKqjP5v1f8xfcd0Xol8hZm3zqSOex1nh3TNtKSglFJltDZuLT2a9uDlQS87O5Qy05KCUkqVgTGGHQk76BbQzdmhlAtNCkopVQbxKfGcTTtLt8aaFJRSqsbbmbATQEsKSimlYMepHQB0Dejq5EjKhyYFpZQqgx0JOwj2DsbLs9hR/6sMTQpKKVUG1amRGTQpKKVUqRljyDFX3i6clpnGgTMHNCkopVRNdPecu7nx2xtt33cn7ibH5FSb9gTQh9eUUqpUsnOymbNvDskZyexO3E1n/87sSLA0MleX7qigJQWllCqVHQk7SM5IBuCLLV9Y5p3aQb1a9WjVsJUzQytXmhSUUqoUVsSuACAyKJLpO6eTlpnGjoQddPHvUuXemVCc6nMmSinlQCtiV9DWpy0vR77M+fTz/Bj9IzsTdlarRmbQpKCUUiXKzslm1dFVDAoexKDgQbTxacOrK18lOSO5WrUngCYFpZQq0fZT20nOSGZQ8CBEhEnhkzh07hBQfYa3yOXwpCAiriKyTUTmF7LMQ0S+F5GDIrJRRIIdHY9SSl2t3PaEQcGDAJgYOhF3F3cAOvt3dlJUjlERJYXHgb1FLLsPOGeMaQO8B7xZAfEopdRVWXF0BSG+ITSt3xQA/7r+jO8ynrDGYdT3qO/k6MqXQ5OCiDQDhgP/LWKVUcBX1ulZwPUiIo6MSSmlroatPSFoUJ75X9z8BWvuXeOcoBzI0SWF94FngJwilgcCcQDGmCwgGfDNv5KITBKRKBGJSkpKclSsSilVwPZT27mQccFWdZSrlmutKv3azaI4LCmIyAgg0Rizpaz7MsZ8boyJMMZE+Pn5lUN0SilVOrbnE4IjnRtIBXFkSaEfMFJEYoGZwHUi8k2+deKB5gAi4gZ4AWccGJNSSl2VZbHL8rQnVHcOSwrGmOeMMc2MMcHAOGCZMWZCvtXmAhOt02Os6xhHxaSUUlcj6WISSw8tZXjb4c4OpcJU+IB4IvIqEGWMmQtMBb4WkYPAWSzJQymlKoWvd35NZk4m94Xd5+xQKkyFJAVjzApghXX6Jbv56cDYiohBKaWuhjGGqdum0iuwF538Ozk7nAqjTzQrpRTwadSnrI9bb/u+MX4j0UnRNaqUAJoUlFKKS5mXeHTho9z03U3EnIkBYOrWqdRxr8PtnW93cnQVS5OCUqrG25WwixyTQ3J6MqNmjuJEyglm7pnJ2I5jaeDRwNnhVShNCkqpGm/rya0ATLtlGjFnY+j5RU9SL6fWuKoj0NdxKqUUW09uxbe2L3d2vZPUy6k8uvBRQnxD6N+iv7NDq3CaFJRSNd7WU1sJbxKOiPBwxMMAdPTrSE0cik2rj5RSNdrl7MvsSthFeJNwAESER3o8UmCso5pCk4JSqkbbk7iHzJxMW1Ko6TQpKKVqtNxGZk0KFpoUlFI12taTW2ng0YBWDVs5O5RKQZOCUqpGyT/m5tZTWwlrHIaL6OUQNCkopWqQn/f+TJN/NWH6jukAZOVksePUDq06sqNJQSlV7WXlZPH0kqe59YdbOZN2hid+fYIzl86w//R+0rLSNCnY0aSglKrW0rPSueHrG3hn/Ts8HPEwG+7bQHJ6Mi8se0EbmQuhD68ppaqN8+nn8fb0zjNv5u6ZLI9dzqfDP+XBiAcBeKznY/x747/Zd2Yftd1q0863nTPCrZS0pKCUqhbmH5hPo7ca5Rn+GuCzLZ/RvlF7JnWfZJv3yqBX8K/rz4rYFYQ2DsXVxbWiw620NCkopaqF/2z6D9kmm5dXvGybtzNhJxuOb2BS+KQ8Q1Z4eXrx1pC3AK06yk+rj5RSVd6Rc0dYemgprRq2Yunhpaw9tpZ+LfrxWdRneLh6MDF0YoFt7ux6J3HJcYxqP8oJEVdeWlJQSlV5U7dNRURYcMcC/Ov68/eVf+fi5Yt8s+sbxnYai09tnwLbiAh/G/g3Ovt3dkLElZcmBaVUlZaVk8WX275kWJthtG/Unmf6PsPSw0uZsmgKFzIu8GD3B50dYpXisKQgIp4isklEdojIHhH5eyHr3C0iSSKy3fq531HxKKWqpwUHFnAy9SSTwi0NyQ9FPIR/XX++3P4lHf060q95PydHWLU4sqSQAVxnjOkGhALDRKR3Iet9b4wJtX7+68B4lFLV0Bdbv6BJvSYMDxkOQN1adXmm7zMAPNj9wRr5ToSycFhSMBap1q/u1o8pZhOllCrUh5s+JOQ/IWTnZOeZH5ccx6KDi7g37F7cXK70m5ncczKfDP+EB8IfqOhQqzyHtimIiKuIbAcSgaXGmI2FrHariOwUkVki0ryI/UwSkSgRiUpKSnJkyEqpSmhhzEJizsawJ2lPnvmzomeRY3K4J/SePPM93Dx4KOIharvXrsgwqwWHJgVjTLYxJhRoBvQUkfzN/POAYGNMV2Ap8FUR+/ncGBNhjInw8/NzZMhKqUrGGMOWk1sAWH10dZ5lK46uoI1PG1r7tHZGaNVShfQ+MsacB5YDw/LNP2OMybB+/S/QvSLiUUpVHccvHCfxYiIAa+LW2OZn52Sz6ugqBgUNclJk1ZMjex/5iYi3dbo2MATYl2+dJnZfRwJ7HRWPUqpqyi0ltGrYitVHV9veh7AzYSfn088TGRzpzPCqHUeWFJoAy0VkJ7AZS5vCfBF5VURGWteZYu2uugOYAtztwHiUUlVQ1IkoXMWVRyIeIT4lntjzsQCsiF0BQGSQJoXy5LBhLowxO4GwQua/ZDf9HPCco2JQSlV9W05uoZN/J4a0HgJLYc2xNbRs2JIVR1fQumFrmnsV2j9FXaMSSwoi8piINKyIYJRSyp4xhqgTUXRv0p3O/p3x8vBi9bHVV9oTggc5O8RqpzTVRwHAZhH5QUSGiT4JopSqIHEX4jh96TQRTSNwERf6tejHmmNr2JW4i/Pp5zUpOECJScEY8wLQFpiKpc4/RkT+ISLaB0wp5VBRJ6IA6N7E0jFxQIsB7D29l1nRswBtT3CEUjU0G0tz/ynrJwtoCMwSkbccGJtSqobbcmILbi5udA3oCkD/Fv0By7sTtD3BMUrTpvC4iGwB3gLWAl2MMQ9jeabgVgfHp5Sqwbac3EInv062J5N7NO2Bh6sHFzIuaNWRg5SmpOAD/NEYM9QY86MxJhPAGJMDjHBodEqpGiu3kTmiaYRtnoebBz0CewBoUnCQ0rQpvGyMOVrEMn3YTCnlEMeSj3Em7UyepABX2hG0PcEx9HWcSqlKKX8jc66n+j7FwKCB2p7gIPrmNaVUpXM5+zKz9s7C3cXd1sicy9vTmxta3+CkyKo/LSkopSqV9XHreWDeA+xJ2sPjvR7Hw83D2SHVKFpSUEpVGh9v/ph+X/bjQsYF5o+fz/vD3nd2SDWOlhSUUpXGJ1GfENE0gt/v+p36HvWdHU6NpCUFpVSlcD79PHsS93BzyM2aEJxIk4JSqlLYcHwDBkO/Fv2cHUqNpklBKVUprItbh6u40jOwp7NDqdFqbFI4lXrK2SEopeysjVtLt8bdqFernrNDqdFqZFLYcHwDTf7VhE3xm5wdilIKyMrJYuPxjfRt1tfZodR4NTIprI9bD8DyI8udHIlSCizvW76YeVHbEyqBGpkUdibuBGBD/AYnR6KUAkt7AkDf5lpScLaamRQSLElh4/GNWF4VoZRyprVxa2nWoBktvFo4O5Qaz2FJQUQ8RWSTiOwQkT0i8vdC1vEQke9F5KCIbBSRYEfFkysrJ4s9iXvw9vTmZOpJjl847uhDKqVKsC5unZYSKglHlhQygOuMMd2AUGCYiPTOt859wDljTBvgPeBNB8YDQMyZGDKyM5jQZQIAG+M3OvqQSqliHL9wnGPJx+jXXNsTKgOHJQVjkWr96m795K+rGQV8ZZ2eBVwvIuKomOBK1dGd3e7Ew9WDDce1XUEpZ9L2hMrFoW0KIuIqItuBRGCpMSb/bXkgEAdgjMkCkgHfQvYzSUSiRCQqKSmpTDHtStyFq7jSLaAb4U3CtaSglJOti1tHHfc6dAvo5uxQFA5OCsaYbGNMKNAM6Ckina9xP58bYyKMMRF+fn5limlnwk7aN2qPh5sHvQJ7seXEFjKzM8u0T6XUtfv9yO/0CuyFu6u7s0NRVFDvI2PMeWA5MCzfonigOYCIuAFewBlHxrIzYSddAroA0KtZL9Ky0tiVuMuRh1RKFWFv0l52J+5mdPvRzg5FWTmy95GfiHhbp2sDQ4B9+VabC0y0To8BlhkH9hFNTk/maPJRuvpb3uTUK7AXYOmaqpS6OidSTpR5Hz9G/4gg3Nrx1nKISJUHR5YUmgDLRWQnsBlLm8J8EXlVREZa15kK+IrIQeBJ4FkHxmMrEeS+3i/YOxj/uv7arqDUVdqVsItm7zZjyaElZdrPD3t+oH+L/jSt37ScIlNl5bCX7BhjdgJhhcx/yW46HRjrqBjy25WQNymICL0Ce2kPJKWu0qqjqzAYFh9cfM3vS45OimZP0h7+c+N/yjk6VRY16onmnQk78fb0plmDZrZ5vQJ7sf/Mfs6lnXNiZEpVLZtPbAZg5dGV17yPH/dYq446aNVRZVKzkkLiTroGdMX+UYjezSzP060/vt5ZYSlV5USdiAJg+6ntJKcnl2qb/M2FP0T/wICgATSp36Tc41PXrsYkhRyTw66EXbZG5lz9WvSjfq36/Lz3ZydFplTVkno5lb2n9xIZFEmOyWHNsTW2ZTkmh5eXv8xLy19i5u6ZbD25lWnbp/HH7/9I/X/Wp/+X/dmVsIs9iXuITormto63OfFMVGEc1qZQ2Rw9f5SUyym27qi5PN08Gd1hND/t/YmPh39MLddaTopQqaph68mt5JgcJveczPrj61l5dCXDQ4YDsDJ2Ja+uerXANoH1AxnbaSzzD8wn7LMwS4ldex1VSjUmKeQOb5HbyGxvXKdxTN8xnV8P/srN7W6u6NCUqlI2x1vaEwYGDaRnYM887QpTt03Fy8OL2D/qvn/pAAAgAElEQVTHciz5GPtP76eNTxtCG4ciIpy5dIa//vZXpm6byuDgwTSu19hZp6GKUGOSQohvCK9EvkJn/4IPVf+h1R/wqe3DzD0zNSkoVYLNJzbTwqsF/nX9GdhiIG+ufZOUjBSycrKYFT2L+8Luw9vTG29P7wI3Yb51fPnvyP8ypdcUfGsXGNFGVQI1pk2hg18HXh70cqHvf3V3dWdMhzHM2TeHS5mXnBCdUlXH5hOb6dG0BwCRwZFkm2zWxa3ju13fkZGdwX3h95W4j64BXQlsEOjoUNU1qDFJoSTjOo/jYuZFFhxY4OxQlKq0zlw6w+Fzh21JoW/zvriKKyuPrmTqtqmENg4lvEm4k6NUZaFJwWpg0EAa12vMjN0znB2KUpVWblfUiKYRANSrVY+IphH8b/v/2HZqG/eFlVxKUJWbJgUrVxdXbut4GwtjFrIpfhNz9s3ho00fkZCa4OzQlKo0ch9a6960u21eZFAkp1JP4eHqwZ+6/MlZoalyoknBzvgu48nIzqDXf3txy/e3MHnRZP6x+h8F1pu3fx67E3c7IUKlnCvqRBQhviF4e3rb5kUGRwJwa8dbaVi7obNCU+VEk4KdXoG9mHHrDL4f8z2bH9jMsDbDmL1/dp4nMZPTkxn741j+vPjPToxUKeewb2TOFRkUyah2o/hrv786KSpVnmpMl9TSEBHGdR5n+35bx9u4d+69bDu1zdZ49su+X8jIzmDl0ZWcTz+f545JqersRMoJTqScKJAU6taqy+xxs50UlSpvWlIoxoiQEbiIC7P3XfmDn7F7BrXdapOVk8Xig4udGJ1SFSctM41HFjwCQP8W/Z0cjXIkTQrF8KvrR/8W/W1JIfFiIr8f/p0pvabgX9efOfvnODlCpRwvOT2ZYd8OY+7+uXww7IM8jcyq+tHqoxKMbj+aJ359gkNnD7H44GKyTTZ/6vInki4m8dPen7icfVnHS1LVVkJqAkO/GUp0UjTf3fpdnupVVT1pSaEEo9qNAmD2vtnM2D2DTn6d6BLQhVHtR5Gckcyqo6ts655IOUH8hXhnhapUuUpITWDwV4OJORvD/Dvma0KoITQplKBlw5Z0C+jG51s/Z23cWsZ3Hg9Yxkuq7VabufvnApaEEPF5BLf+oKM+qqovNyEcTT7KwjsWXvPb1VTVo0mhFEa3H82BMwcAuL3z7QDUca/DkNZDmLN/DulZ6dz6w62cTD3J5hObC7x0ZOPxjfx3638rPG6lrlaOyWHD8Q1cN/06jiYfZcEdC2zPISgnMAbOnYP9+2H1aoiJcfghtU2hFG5pfwuvrHyFHk170ManjW3+qHajmLt/Ljd9exMbjm/g0R6P8tHmj1gbt5ab2t5kW+/F5S+yPHY54zuPp26tus44BaWKFXMmhn+u+ScLYhaQeDGRuu51WXDHAgYFD3J2aNVPRgYkJUFiouWTkFD4dO4nM/PKts88A2++6dDwHJYURKQ5MB0IAAzwuTHm3/nWGQTMAY5YZ/1sjCn4hg4n6xrQlQldJ/DH9n/MM3942+EIwvLY5bww4AWeG/Acn2/5nJWxK21J4eLli6w8upKsnCzWH1/PH1r9wRmnoFSRYs/HMuirQVzIuMCIkBHcHHIzN7a5UZ9OLq3cu/n8F/OiLvjJRby+1NMTAgLAzw+aNoWwMMt0QAD4+1s+ISEOPx1HlhSygL8YY7aKSH1gi4gsNcZE51tvtTFmhAPjKDMR4evRXxeYH1AvgPFdxuPm4sbfB/8dF3GhR2CPPC8dWRG7gsvZlwFYdXSVJgVVqSSkJjDk6yFcyrzEunvXFXgzYY2VkVH83Xv+ZVlZBfchAr6+lot5QACEhxe8yNtP16tn2cbJHJYUjDEngZPW6RQR2QsEAvmTQpX27R+/zfM9MiiSt9a+RerlVOrVqseig4uo416H1g1b5+mppJSznU8/z9BvhnIi5QRL71xavRNCTg6cP1/yXXzup6S7+YAACAy03M3nXtjzX/AbNQK3qldDXyERi0gwEAZsLGRxHxHZAZwAnjLG7KmImBwlMiiSf675J+vi1nFD6xtYfHAx17W8jhCfED7a/BHpWel4unk6O0yluH/u/UQnRTNv/Dz6Nu/r7HCuXnp60Xfw9hf6hARLHX5Rd/ONGl25qIeHX7mw21/gcy/4detWirt5R3J4UhCResBPwJ+NMRfyLd4KBBljUkXkJmA20LaQfUwCJgG0aNHCwRGXje2lI7EraendkkPnDvFE7ydo1qAZ7254l83xmxkQNMDZYaoabt7+efy09yf+cd0/GNpmqLPDsci9m7e/mBd3wb+Q/3JiVbv2lQt68+bQvfuVi3punX3utK8vuLpW7HlWcg5NCiLijiUhfGuM+Tn/cvskYYxZKCIfi0gjY8zpfOt9DnwOEBERYajE6nvUp3vT7qw8upKAegEA3Nj2RtvAeauOrtKkoJwq9XIqkxdNppNfJ57q+5RjD1bY3XxR1TaluZsPCLBc5O3v5PNX29Qr+MpdVXqO7H0kwFRgrzHm3SLWaQwkGGOMiPTE8tzEGUfFVFEigyJ5f8P7uLm4EeIbQquGrQDo4t+FlUdX8jf+Vup9RSdFc8+ce/hm9De09S1QiFLqqr2y4hWOJR9jzT1rcHd1v7qNc3IsPW2KuovPf8FPSSl8P3XqXLmQt2gBERGFN8D6+VkSgt7NVxhHlhT6AXcCu0Rku3Xe80ALAGPMp8AY4GERyQLSgHHG/uUFVVRkUCRvr3ublUdXMqXnFNv8gUEDmbZ9GpnZmaX6nzE9K53xP41nZ8JOft77M3/tr+PVq7LZdnIb7294n0nhk+jXop9lZlqa5S69NNU2Rd3Nu7hcuZv394cePfLexdtX2/j7W+rmVaXkyN5Ha4BiW2SMMR8CHzoqBmfp36I/LuJCjsnhxrY32uZHBkXy0eaP2HZqGz0De5a4n+d+e46dCTvx8vBieexyTQqqdHJy4OzZQu/gE9d/zZxTrgxduA2eaGNZVtTdfN26Vy7yQUFXLvT5q20CAsDHR+/mq4mq11+qCvDy9CK0cSjRSdFEBl0ZIiC3LWHV0VUlJoXFBxfz/sb3mdxjMgZzVSUMVQ2lpZXcbz53flISZGcX2IVxcaFbnRxyfH1xa9wAWrUp2MvG/oKvd/M1kiYFB3lx4IscSz5GbffatnmN6zUmxDeEpYeX0qdZH3Ym7CQzJ5PHej6G2HVzO33pNHfPvpvO/p15a8hbLIxZyEebP2Lzic1Vs+ugKsh6N59xIo7lG2dyQ/1QXJJOF33BL+luPiAAgoOhZ8/C7+T9/ZmduIo/zhrD73f9QNOW11Xo6aqqQ5OCg9zS/pZC50cGRfLF1i9YcmiJbV6IbwjD2gyzfX9n3TskXUri1wm/Utu9tm1AshWxKzQpVGaXLhXd6Jp/3unTkJ2NBzDMfh8uLpaLee5F3f4in/9if5V387PXzqWhZ0MGtNDeb6pomhQq2HP9nyPEN4T2jdrT0a8jg6YN4vXVr9uSwrm0c3y8+WPGdhxLt8bdAGhUpxFd/LuwPHY5zw943pnh1yw5OXDmTOEX+MK6VV68WPh+6tW7chFv1Qp697Zd2H88vYqPj/3EvUOf5c4hf7HUzbuU/+DFWTlZzNs/jxEhI7QKUhVLk0IFa9mwZZ6+4U/3fZopi6ew+uhqBgQN4KPNH5FyOYXn+j+XZ7vBwYP5YusXZGRl4OHmUdFhVx/2d/MljU6ZlGRJDPm5ulou6rl37K1aFd0A6+dn6X5ZhDk/b2KFKwTVPsmdjRqV22n+e8O/qeNehwe6PwDA6qOrOZd+rsgSrFK5NCk42X3h9/Haqtf4x5p/MKvJLP698d8MbzvcVkrINbjlYD7Y9AGbT2zWF6fby86+cjdf3DAHufNKupv3979yN1/UcAe+vuV2N3/w7EEAtp3aVi77A8sLn55a+hTZOdmE+IYQGRzJ7H2z8XTzZGjrSvL0sqq0NCk4WR33OjzZ50me+/05Hl34KKcvnS60imhg0EDLMN1Hllf/pHDxYul62eTWzRd1N29/IW/TptDGV9vdfO3aBfdRAXKTQnRSdKlKgefTzzP+p/FM6TklT3dne59FfUZ2TjbNvZpz5y93suOhHczeP5shrYbo+zxUiaSqPSsWERFhoqKinB1GuUpOTybo/SCSM5IZGDSQlXevLHS9sM/CaOjZkGUTl1VwhGWUezdfXL28/bxLlwrfT/36RTe65r/gN2zokLr58nQu7Rw+b/nQM7Anm+I3sWXSFsKbhBe5vjGG22fdzo/RPxLWOIwtk7bk6bUGcDn7Mi3ea0FE0whejnyZvl/2JbxJOJviNzF15FTuDbvX0aelKikR2WKMiShpPS0pVAJenl5M7jmZ11e/zvP9i25IHhw8mE+iPqkcI62mppZ8F5/7/fRpy4tI8su9m8+9mLdtW/R48068m3eUQ+cOATCmwxg2xW9i28ltxSaFL7Z+wY/RP9qSyKb4TfRq1ivPOj/u+ZGEiwk81vMxegT24NVBr/L8sudxERduDrnZoeejqgdNCpXECwNfYGDQQIa0GlLkOoOCB/HehveYtn0aD3Z/sMBdYplkZRWsmy+uS2VJd/O5F/l+/QoOcZD7qQJ3846UW3U0tM1QXlv1GttPbS9y3T2Je3h88ePc0PoGfhjzA83ea8YnUZ8USAr/2fQfQnxDGNLa8nf0TL9nWB67nFqutfCr6+e4k1HVhiaFSsLTzZMbWt9Q7DrXt7ye0MahPLzgYWbsnsF7Q98r9s7SdjdfUi+bhARLQijubj73wt62beEX+dx5nvquiNLKTQptfNrQrXG3IhubM7MzuX3W7Xh5eDH9lul4eXoxocsEpu2YxrtD38Wntg8Am+M3szF+Ix8M+wAXsSRbVxdXFk9YjBQ/4oxSNpoUqpC6Lh5sHjmfn1d+yvfLPuBf87rzYIvRDPRsZ7vAm8REkuNiqH8+Dde09MJ35OV1pUomJAQGDCh64DJv7xp9N+9IB88eJLB+IHXc6xAaEMq0HdPIMTm2C3qupYeXsidpDz+M+cE2HPvDPR7m0y2fMm37NJ7s8yQ5Joe3171NvVr1mBg6Mc/2+fenVHE0KTiTMZaeNiWNTpk7/8wZ3IzhNuA2205+IcfNFRc/f0xAANFymq1+5/DuHsLNA+8veEevd/OVxsGzB2nj0waAsCZhfLj5Qw6dPVRgiPSZu2fi7enNqPajbPO6BnSlb/O+fBr1KWM6juGeOfew7Mgynu//PA08GlToeajqRZNCecvKsjSslvYBqbS0wvfToMGVi3m7djBwYIG3RqV712f0iodYdn4rS+6cwfd7vueTqE/w8vDCr24ONz/2dMWeu7oqB88eZETICADCGocBlucV7JNCWmYas/fN5rZOt1HLtVae7R+JeIQJv0yg3YftcBVXvrj5C+4Lu6/iTkBVS5oUSmKMpW6+uEZX++mzZwuvm3d3z3u33r598XXzHiU/tewJfNtmIf2+7Mf1068n22TzTN9nqFerHi+teImUjBTqe9Qv/99ElVlKRgoJFxNsJYVO/p1wd3Fn28lt3NbpSjlw0cFFpFxOYVzncQX2MabjGF5Y/gJN6zdl+i3Tae3TusLiV9VXzUwKWVmWIQxK08smMdHySsHCeHtfuZh37AiDBhVfN++AF3771PZh8Z8Wc+O3N3JL+1t4/brXWRCzAIAdCTuu+kG3i5cvknQpiWDv4HKPtbK6kHGBdh+244NhHzC209gKOWZud9TcpFDLtRYd/TqyPSFvD6SZu2cSUDeAwcGDC+zDw82DA5MP4ObiVr490VSNVnOSwuLF8OSTtrr5QuXezedeyDt0KLzPfO6nVq3C91PBgryDiH402vY9typi+6ntV50UnlryFNN3TifmsRia1m9arnFWVitiV3Aq9RTLjiwrdVLYlbALgC4BXa7pmPY9j3KFNQljUcwi2/eUjBTmHZjH/WH34+pS+AtsdHA7Vd5qTlLw9r5yN19UtY2Xl0Pu5ita0/pNaVSnEdtOXt14OhlZGczcM5NLmZd4beVrfDLiEwdFWLn8fvh3AHYl7ir1NvfOvZdjycfYP3k/3p7eV33M3KTQuuGVKp+wxmFM2z6N+AvxBDYIZO7+uaRnpRdadaSUo9ScpNC7N8ya5ewoKoSIENY4rEBVREkWxizkfPp5ugV047/b/stTfZ+y1VN/tf0r3tvwHvPvmE+zBs0cEbbT/HbkNwB2J+7GGJOnKuZS5iVqudbCzeXK/yo5Joc9iXtIy0rjxWUv8p+b/nPVxzx49iABdQPytPnklup6/bcXfxvwN+bsn0PzBs3p07zPtZ6aUldNOzBXU6GNQ9mduJvM7MxSb/Ptrm/xr+vPvPHzcHdx56UVLwHw68FfuW/ufexI2MGURVMcFbJTnEw5SXRSNK0atiI5I5n4lHjbMmMMoZ+G8tLyl/JsE3s+lrSsNJo3aM7HUR+z9eTWqz6ufXfUXOFNwlk+cTnB3sE8svARfj30K7d3ul2fM1AVSv/aqqmwxmFczr7M3tN7S7X++fTzzDswj3GdxtHcqzlTek1hxq4ZTN8xnTE/jqFLQBdeGPACv+z7hdn7Zjs4+orz+xFL1dGUnpZkl9tWAJaLf8zZGFbErsizTXSSpf3msxGf4VfHj0cWPEKOKThSa9SJKN5e+3ahxy0sKYBlKJPV96xm8Z8Wc0eXO3i056PXdF5KXSuHJQURaS4iy0UkWkT2iMjjhawjIvKBiBwUkZ0iUsyYDepqhDYOBSiyXSElI4Vzaeds33+K/onL2ZeZ0HUCAH/t91caeDRg4uyJNPRsyII7FvBS5Et0DejK5IWTuZBxwfEnUQF+O/wbPrV9bOe9O3G3bdn64+sB2Jmwk+ycbNv83KTQp3kf3h7yNhvjN/Llti8L7Pudde/wzG/PsDcpb2K+lHmJ+JT4QpMCWKr/hrYZyrd//LZG9QJTlYMjSwpZwF+MMR2B3sCjItIx3zo3Am2tn0lAzWjZrAAhviHUdqtd5CBrt3x/C60+aMVvhy316d/s+oa2Pm2JaGoZWbdh7Ya8Nvg1AuoGsOCOBTSt3xR3V3c+H/E5J1JO8MKyFyrsXBzFGMPvR37n+pbX41vHl8D6gexOsksKcZakcDHzoq0LKcCepD0E1g/E29ObCV0n0KdZH95c+2aB/a+LWwfA9B3T88w/fO4wQJFJQSlnclhSMMacNMZstU6nAHuBwHyrjQKmG4sNgLeINHFUTDWJq4srXQO6FjrI2ub4zSw7sozsnGyGfTOMv6/4OytjVzKh64Q8jayP9XqME385kafbZa9mvXikxyN8uOlDYs7EVMi5FOXo+aN8vPnjay61HDhzgOMXjnN9y+sB6OzfOU/10frj6/Gv6w+QJ7lGJ0XT0c9yfyMi3NbpNg6ePcix5GO2deKS44i7EIe7izvf7PomT0kj93fTpKAqowppUxCRYCAM2JhvUSAQZ/f9OAUTByIySUSiRCQqKSnJUWFWO2GNw9h+ajv5X6T07oZ3aeDRgL2P7mVYm2G8svIVDIY7utxRYB+FNXI+0+8ZDIa5++c6LPbSeHPtmzy68FFaf9Ca9ze8T0ZWxlVtn1tK+kOrPwCWpBCdFE12TjaXMi+xI2EHd3W9CzcXN1tSyDE57E3aa0sKgO3BsuVHltvmrY1bC8ATvZ/g+IXjtnYJYwyfRH2Ct6c3HRp1uLYTV8qBHJ4URKQe8BPwZ2PMNd3SGWM+N8ZEGGMi/Px0TPjSCm0cSnJGMrHnY23zjiUf48c9P/JA+AMENghkzrg5vDjwRSb3mFzqO9cWXi3o4t/F9uS0s2yM30jXgK6ENg7liV+fIPzz8KtKDL8f+Z1g72BaNWwFQBf/LmRkZ3Do3CGiTkSRlZNFZHAkHf062kpcx5KPcTHzIp38Otn20yWgC761fVkeeyUprItbR133urwY+aJlyOudliqk+Qfms/TwUv4+6O/6akxVKTk0KYiIO5aE8K0x5udCVokHmtt9b2adp8pBWJMrTzbn+mDjBwBM6WXpbePq4sqrg1+96r72w9sOZ/Wx1SSnJ5dTtFcnLTONnQk7GdF2BEvvXMp/bvwP0UnRxb6oxl52TjbLjizj+pbX26rMOvt3Biw9kHLbE3o3601o41DbfnMbme1LCi7iwqDgQSyPXW4rla2NW0uvZr2oV6set3W6jZ+if+Js2lmeXPIkHRp14OGIh8vnh1CqnDmy95EAU4G9xph3i1htLnCXtRdSbyDZGHPSUTHVNJ39O+MiLqyIXUGOyeFCxgW+2PoFYzuNpYVXizLte0TICLJyslhyaEk5RZvX7sTdfLntS2bvm82aY2s4cynv0CRbT24lKyeLnoE9ARjZbiQAW05uKdX+t5zcQnJGsq09AaCDXwcEYXfibtYfX09bn7Y0qtOIsMZhnEo9xanUU+xJ3APkTQpgqUI6lnyMI+ePkHo5lR2ndtC3WV8AJnabyMXMiwz/bjgHzx7kvaHv6fAUqtJy5BPN/YA7gV0iknv79jzQAsAY8ymwELgJOAhcAu5xYDw1Th33OgwMGsgHmz7gp70/0a5ROy5kXOAvff5S5n33btYbn9o+zI+ZX+6DyC0+uJjR348mPevKQITtG7Un+pFo2139pvhNALbXUTZv0JxGdRoRdSKqVMfIbU+4vtWVpFDHvQ5tfNqwK3EX64+vZ1ibYcCV7r07Tu0g+nQ0Teo1oWHthnn2N7jllXaFlg1bkm2y6deiHwB9m/elVcNWbDi+gZtDbmZom6FX94MoVYEclhSMMWug+HcAGktZW5/OcaD54+czd/9cvt/zPYsOLuK6ltfZup2WhauLKze2uZGFMQvJzskucsC2q/XL3l+4fdbtdPbvzNejvyYjO4Mf9/zIG2vfYO/pKw28G+M30sKrBY3rNQYsvYC6N+le6pLC0sNLCW0cautdlKuzf2d+O/wbyRnJ9GlmGV6iW0A3wPKuA/ueR/Y6NOpAQN0AlsUuo31KewSxbS8i3B92P6+uepV/3fCva/thlKog+kRzNVe3Vl3GdxnP7HGzOf30aeaPn19u+x7edjinL51m84nN5bK/b3d+y9gfxxLRNIJlE5fRyb8T4U3CmdxzMgBz9s2xrbsxfqOt6ihXRNMIy5hEmUW8uMjq4uWLrD22liGthhRY1tm/M8kZlnaS3It6w9oNCfIKsiUF+0bmXCJiaVc4spy1cWvp7N8ZL08v2/Kn+z1N7OOxBd6qplRlo0mhBqnvUZ/a7rXLbX9D2wzFVVyZf6BsicYYw+urXmfCLxMYGDSQJXcuyTPyaGCDQCKaRjD3gKULbOLFRGLPx9IrsFee/XRv0p1sk82OhB3FHm/1sdVk5mTauqLa6+JveSajXq16toZnsDTa/3rwV1IvpxZaUgBLu8LJ1JP8fuR3+jbvm2eZm4ub7f3KSlVmmhTUNfOp7UPf5n3L1DX1cvZl7plzDy8sf4EJXSew6E+LqFerXoH1RrUbxcbjGzmVeupKe0K+pJBbLbblRPFVSEsPLcXD1YMBLQYUWJabCHoG9sxTJRYaEGorQRSZFKztClk5WfRr3q/YGJSqrDQpqDIZETKC7ae2c//c+3l6ydO8vfbtUj9hnJaZxk3f3sRXO77ilchXmH7LdDzcCn8N6ch2IzEY5h+Yz8bjG3EVV8Kb5B0qq1mDZvjV8SPqZPGNzb8d+Y1+LfoVWmpq62vpcfSHlnlLEbmNzVB0Umjr09b2YqLcRmalqpqa8z4F5RC3d7qdb3d9y4KYBSSnJ5OWlcby2OXMGz+v2MbnzOxMbpt1G8uOLGPaqGlMDJ1Y7HG6+HchyCvI9uKZzv6dCzz8JSJENI0otqSQkJrAzoSd/PP6fxa63M3FjQOTDxR4t3VuUgioG4BvHd9CtxURbmxzI78f+Z2W3i2LPR+lKistKagyCfIOYsdDOzj5l5Nc+tslPh3+KYsOLuLlFS8XuU2OyeHuOXcz/8B8Ph7+cYkJASwX3FHtRrH08FI2xm8sUHWUq3uT7uxJ2sOlzEuFLs8dKruwRuZcDWs3zPNSHbA8xd3Qs2GRpYRc/x72bzbct0HfmayqLE0KqlxN6j6J+8Pu5/XVr/Pz3sIeYofHFz3Od7u+45/X/5OHIh4q9b5HthtJelY6FzIu2J5PyC+iaQQ5JocdpyyNzcYYtp3cRlZOFmDpiupT2ydPdVBpiAj/uuFfPNv/2WLXq1urrjYoqypNk4IqVyLChzd9SK/AXtz1y122J4Bzzd0/lw83f8gTvZ8o8QKb38CggXh5WLp5FllSaNodwPYQ2/O/P0/45+G0/qA1b655k6WHlnJ9y+uv6bmKe8Lu4YbWN1z1dkpVJZoUVLnzcPPgp9t+or5HfW75/hbby3zOp5/n4QUP08W/C2/84Y2r3q+7qzs3t7sZb09v2jdqX+g6gfUDCagbwJaTW5i2fRpvrH2DP3b4I2182vDs788SnxJfaFdUpZSF5B9WubKLiIgwUVGlG8pAOde6uHUMmjaIwS0Hs/COhTy84GGmbpvKhvs20COwxzXt88ylM5xKPUUn/4IPkOUa/t1wNsdv5nz6eQYGDWTRnxbh7urO7sTdLIxZyKM9HtURSlWNIyJbjDElDmegvY+Uw/Rt3pePh3/MA/MeYNTMUSyIWcDTfZ++5oQA4FvHt8jeP7m6N+nOwpiFhPiG8OPYH22Dz3X275zngTSlVEFafaQc6v7w+3kk4hEWxCygjU8b/j7o7w4/5sh2I+kZ2JP54+cXGLhOKVU8LSkoh3t/2Pv41PZhTMcx5TrMRlEimkaw8f78L/lTSpWGJgXlcO6u7rx23WvODkMpVQpafaSUUspGk4JSSikbTQpKKaVsNCkopZSy0aSglFLKRpOCUkopG00KSimlbDQpKKWUsqlyA+KJSBJw9Bo3bwScLsdwyktljQsqb2wa19XRuK5OdYwryBjjV9JKVS4plIWIRJVmlMCKVlnjgsobm6r5ia4AAAa3SURBVMZ1dTSuq1OT49LqI6WUUjaaFJRSStnUtKTwubMDKEJljQsqb2wa19XRuK5OjY2rRrUpKKWUKl5NKykopZQqhiYFpZRSNtUuKYjIWBHZIyI5IlJk1y0RGSYi+0XkoIg8aze/pYhstM7/XkRqlVNcPiKyVERirP8t8J5IERksItvtPukicot12TQROWK3LLSi4rKul2137Ll28535e4WKyHrrv/dOEbndblm5/l5F/b3YLfewnv9B6+8RbLfsOev8/SIytCxxXENcT4pItPX3+V1EguyWFfpvWkFx3S0iSXbHv99u2UTrv3uMiEys4Ljes4vpgIict1vmyN/rSxFJFJHdRSwXEfnAGvdOEQm3W1a+v5cxplp9gA5AO2AFEFHEOq7AIaAVUAvYAXS0LvsBGGed/hR4uJziegt41jr9LPBmCev7AGeBOtbv04AxDvi9ShUXkFrEfKf9XkAI0NY63RQ4CXiX9+9V3N+L3TqPAJ9ap8cB31unO1rX9wBaWvfjWoFxDbb7G3o4N67i/k0rKK67gQ8L2dYHOGz9b0PrdMOKiivf+o8BXzr697LueyAQDuwuYvlNwCJAgN7ARkf9XtWupGCM2WuM2V/Caj2Bg8aYw8aYy8BMYJSICHAdMMu63lfALeUU2ijr/kq73zHAImPMpXI6flGuNi4bZ/9expgDxpgY6/QJIBEo8YnNa1Do30sx8c4Crrf+PqOAmcaYDGPMEeCgdX8VEpcxZrnd39AGoFk5HbtMcRVjKLDUGHPWGHMOWAoMc1Jc44EZ5XTsYhljVmG5CSzKKGC6sdgAeItIExzwe1W7pFBKgUCc3ffj1nm+/H97dxAaRxXHcfz709BGrEqtUCMWbaDQg4KFKlIPlVIKegiKIjmUFs3Bgh4FkVxElHrz5EEoeFCsYKQYUQjEtCct1oMSVNTUU0NtoWBvhqh/D+/t8JrsJtvN7G5ifx8I2Xk7b/af/8zOf+bNZBf+jIi/l7TXYXtEXMyP/wC2rzL/KMs3yLfyqeM7kjb3OK5BSd9JOtsY0mId5UvSI6Sjv/NFc135arW9NJ0n5+MqKT/t9O1mXKUx0tFmQ7N12su4nsnrZ0LSjuvs2824yMNsO4GZorlb+WpHq9hrz9fAWjr3i6Rp4O4mT41HxGe9jqdhpbjKiYgISS3vBc5HAA8CU0Xza6Sd4ybSvcqvAm/0MK77ImJe0jAwI2mWtOPrWM35+gA4GhH/5uaO8/V/JOkwsBfYXzQvW6cRcb75Emr3OXAyIhYkvUg6yzrQo9duxygwERH/FG39zFfPbMiiEBEH17iIeWBHMX1vbrtCOi0byEd7jfY1xyXpkqShiLiYd2KXV1jUc8CpiFgslt04al6Q9D7wSi/jioj5/Pt3SWeAPcCn9Dlfkm4HviAdEJwtlt1xvppotb00m+eCpAHgDtL21E7fbsaFpIOkQrs/IhYa7S3WaR07uVXjiogrxeQJ0jWkRt/Hl/Q9U0NMbcVVGAVeKhu6mK92tIq99nzdqMNH54BdSnfObCJtAJORrtycJo3nAxwF6jrzmMzLa2e5y8Yy846xMY7/FND0LoVuxCVpa2P4RdJdwGPAT/3OV153p0hjrRNLnqszX023lxXifRaYyfmZBEaV7k7aCewCvl1DLNcVl6Q9wHvASERcLtqbrtMexjVUTI4AP+fHU8ChHN9W4BDXnjF3Na4c227SRdtvirZu5qsdk8CRfBfSo8DVfOBTf77qvore7x/gadK42gJwCZjK7fcAXxbzPQn8Sqr040X7MOlNOwd8AmyuKa5twFfAb8A0cGdu3wucKOa7n1T9b1rSfwaYJe3cPgS29CouYF9+7R/y77H1kC/gMLAIfF/8PNSNfDXbXkjDUSP58WD+++dyPoaLvuO53y/AEzVv76vFNZ3fB438TK62TnsU13Hgx/z6p4HdRd8Xch7ngOd7GVeefh14e0m/bufrJOnuuUXS/msMOAYcy88LeDfHPUtxZ2Xd+fLHXJiZWeVGHT4yM7MmXBTMzKziomBmZhUXBTMzq7gomJlZxUXBzMwqLgpmZlZxUTBbI0kP5w92G5R0q9L3OzzQ77jMOuF/XjOrgaQ3Sf/VfAtwISKO9zkks464KJjVIH+WzjngL2BfXPvpmmYbhoePzOqxDdgC3EY6YzDbkHymYFYDpe/s/Zj0xSxDEfFyn0My68iG/D4Fs/VE0hFgMSI+knQz8LWkAxExs1pfs/XGZwpmZlbxNQUzM6u4KJiZWcVFwczMKi4KZmZWcVEwM7OKi4KZmVVcFMzMrPIf1vZFDpte/vsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Create a model with degree = 1 using the function\n",
    "create_model(x_train,1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train RMSE(Degree = 3): 0.98\n",
      "Test RMSE (Degree = 3): 0.45\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Create a model with degree=2\n",
    "create_model(x_train,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train RMSE(Degree = 9): 0.97\n",
      "Test RMSE (Degree = 9): 32.74\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Create a model with degree=8\n",
    "create_model(x_train,8)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Regularization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Listing 1-5. Regularization\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "#Setting seed for reproducibility\n",
    "np.random.seed(20)\n",
    "\n",
    "#Create random data\n",
    "x = np.linspace(-1,1,100)\n",
    "signal = 2 + x + 2 * x * x\n",
    "noise = np.random.normal(0, 0.1, 100)\n",
    "y = signal + noise\n",
    "x_train = x[0:80]\n",
    "y_train = y[0:80]\n",
    "\n",
    "train_rmse = []\n",
    "test_rmse = []\n",
    "degree = 80\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Define a range of values for lambda\n",
    "lambda_reg_values = np.linspace(0.01,0.99,100)\n",
    "\n",
    "#For each value of lambda, compute build model and compute performance\n",
    "for lambda_reg in lambda_reg_values:\n",
    "    X_train = np.column_stack([np.power(x_train,i) for i in range(0,degree)])\n",
    "    model = np.dot(np.dot(np.linalg.inv(np.dot(X_train.transpose(),X_train) + lambda_reg * np.identity(degree)),X_train.transpose()),y_train)\n",
    "    predicted = np.dot(model, [np.power(x,i) for i in range(0,degree)])\n",
    "    train_rmse.append(np.sqrt(np.sum(np.dot(y[0:80] - predicted[0:80], y_train - predicted[0:80]))))\n",
    "    test_rmse.append(np.sqrt(np.sum(np.dot(y[80:] - predicted[80:], y[80:] - predicted[80:]))))\n",
    "\n",
    "#Plot the performance over train and test dataset.\n",
    "plt.plot(lambda_reg_values, train_rmse)\n",
    "plt.plot(lambda_reg_values, test_rmse)\n",
    "plt.xlabel(r\"$\\lambda$\")\n",
    "plt.ylabel(\"RMSE\")\n",
    "plt.legend([\"Train\", \"Test\"], loc = 2)\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
